package cn.tkk.jdbc;

import cn.tkk.conf.ConfigurationManager;
import cn.tkk.constant.Constants;

import java.sql.Connection;
import java.util.LinkedList;

/**
 * JDBC辅助组件
 * 代码规范   代码中禁止出现hard code（硬编码）
 * 所有东西使用来封装和使用
 */
public class JDBCHelper {
    //第一步：静态代码中，直接加载数据库驱动  方便连接多个数据库
    //使用一个常量接口中的某个常量，来代表一个值
    static{
        try {
            String driver=ConfigurationManager.getProperty(Constants.JDBC_DRIVER);
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    //实现JDBC创建 通过单例模式
    private static JDBCHelper instance=null;


    public static  JDBCHelper getInstance(){
        if(instance==null){
            synchronized (JDBCHelper.class){
                if (instance==null){
                    instance=new JDBCHelper();
                }
            }
        }
        return  instance;
    }


    //数据库连接池
    private LinkedList<Connection> dataSource=new LinkedList<Connection>();


    private JDBCHelper(){
        int dataSourceSize = ConfigurationManager.getInteger(Constants.JDBC_DATASOURCE_SIZE);
    }

}



























